package com.kgc.utils;

import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.ObjectMapper;

import java.util.List;

public class JsonUtils {

    // 定义jackson对象
    private static final ObjectMapper MAPPER = new ObjectMapper();

    /**
     * 将json结果集转化为对象
     *
     * @param jsonData json数据
     * @param beanType 对象中的object类型
     * @return
     */

    public static <T> T jsonToPojo(String jsonData, Class<T> beanType) {
         try {
             T t = MAPPER.readValue(jsonData, beanType);
             return t;

        } catch (Exception e) {
             e.printStackTrace();

        }
         return null;
    }


    /**
           * 将json数据转换成pojo对象list
           * <p>Title: jsonToList</p>
           * <p>Description: </p>
           *
           * @param jsonData
           * @param beanType
           * @return
           */
      public static <T> List<T> jsonToList(String jsonData, Class<T> beanType) {
                JavaType javaType = MAPPER.getTypeFactory().constructParametricType(List.class, beanType);
                 try {
                        List<T> list = MAPPER.readValue(jsonData, javaType);
                        return list;
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                 return null;
            }
}
